home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 41
/
PCMania CD41_1.nrg
/
mod40
/
cubic
/
cp.doc
< prev
next >
Wrap
Text File
|
1995-02-02
|
34KB
|
814 lines
▄█████▄ ██ ██ █████▄▀██▀▄█████▄
██ ▀▀ ██ ██ ██ ██ ██ ██ ▀▀
██ ██ ██ █████ ██ ██
██ ▄▄ ██ ██ ██ ██ ██ ██ ▄▄
▀█████▀ ▀████▀ █████▀▄██▄▀█████▀
·P·L·A·Y·E·R·
v0.95
Table of contents
=================
1......................................Introduction
2......................................Using Cubic Player
2.1..................................General Keys
2.2..................................Modes and Related Keys
2.3..................................File Selector <f> <ins>
2.4..................................Command Line Options
3......................................Information on Cubic Player
4......................................Notes, Bugs etc.
5......................................Special Features
5.1..................................Surrround Sound
5.2..................................Midi Usage
5.3..................................Cubic Player and OS/2
6......................................Greets, Credits
6.1..................................Adresses
1: Introduction
================
The Cubic Player (CP) is a music player which plays a variety of
sound formats on SoundBlaster compatible cards and the UltraSound.
Just in case you are not the lucky owner of such a device, we have
implemented a quiet play option, in order to let you experience the
player.
The player supports the following music formats:
MOD/NST, S3M, MTM, XM and MID. (DMF in v1.0?)
If you encounter any problems with this product NOT mentioned
in the text, feel free to contact us. (adresses listed below).
The current version is freeware, (cardware if you like to.. :)
you may distribute and use the player with the following restrictions
- no commercial distribution (CD) without the written permission
of the authors
- no disassembling, no modifications and the usual stuff
- you may not charge any fee for copying this program except a small
copying fee
We do NOT take responsibility for probable damages or data loss etc.
Use the player at your own risk...
And in case you wanted to run the player under Microsaft Windoofs
we'll tell you RIGHT HERE that this is NOT possible!
This player does support OS/2 v3 with SB now, the gus support was not
yet tested. See section 5.3 on this.
2: Using Cubic Player
======================
Take your time to read this chapter, or you'll miss some of
the advanced options of Cubic Player...
You can simply start the player without command line options [and
filenames], the player will try to detect your sound device and start
playing the specified files.
If you have not specified any files, you will enter the fileselector
and can select a list of files of your choice.
After that you'll most probably find yourself in the instruments
screen.
2.1: General Keys:
-------------------
these keys are valid throughout the player. (not in the fileselector)
2.1.1: Very very general keys...
---------------------------------
F1 / ? / H : Online HELP
scroll with pgup and pgdn or ctrl-pgup/dn.
if the Help window :) is too small press z
return : next module
ctrl-return : like p in comparison with ctrl-p
p : II / => (pause and play) have fun... ;)
ctrl-p : this is a faster version of pause...
d : advanced dos-shell!
ctrl-d : less advaned dos-shell...
f : fileselector (see. 2.3 for usage)
z : toggle vertical screen size (25/50 lines)
alt-z : toggle horizontal screen size (80/132 rows)
ctrl-z : toggle vertical screen size (25/30 lines)
esc : the taboo key... :)
quite useless feature, I think
2.1.2: Module Specific Keys
----------------------------
with these keys you can walk around in the song,
you have to press ctrl for all of them.
ctrl-right : go to next pattern
ctrl-left : go to previous pattern
ctrl-up : go 8 rows up in current pattern (rewind)
ctrl-down : go 8 rows down in current pattern (forward)
ctrl-home : restart the current song
2.1.3: Channel Options
-----------------------
The channels are displayed in all textmodes. In the graphic modes
there is a small box with the channel to let you know which channels
are active at the moment and which channel is selected.
There are 3 channel display modes toggled by c:
-no display: does exactly what it implies.
-small channels: shows from left to right:
instrument number, note, volume, effect and volume bars
-big channels: shows from left to right:
instrument name, note, note effect, volume, volume effect,
panning, panning effect, effect (written) and volume bars
If a note is struck it will be blue for the current row.
The note, volume and panning effects are described in 2.2.2.2.2
2.1.3.1: Channel Keys
----------------------
c : changes the size of the channel display
left / right : go to previous / next channel
up / down : go to prev / next channel with wrap-around
q : toggle currently selected channel
s : solo channel
1 2 3 .. 0 : goto and toggle channel 1 .. 10
ctrl-1 .. 0 : goto and solo channel 1 .. 10
ctrl-q/ctrl-s: turn on all channels
2.1.4: Volume Options
----------------------
these keys are for volume, stereo fx, speed etc.
they are arranged like the 2nd line on the screen for easy usage.
F2 F3 : dec/inc the master volume
+ - : this lets you adjust the m.vol. more precisely
ctrl-F2/F3 : dec/inc the amplification level,
this takes a little bit of time on sb, so be careful
(We won't take responsibility for your ears..)
F4 : toggle surround (only in stereo mode)
flips one channel, makes the sound surround you...
a nice options for headphones or if you have
4 speakers installed, (you can find a description
of how to set them up below) and even if you don't.
You will only hear it if some of the output is
equal on both channels... (combine it with panning)
does not work on a GUS of course!
F5 F6 : slide panning. panning shifts the sound to
the middle or exchanges the channels with each other
if you use headphones, set the panning to somewhere
in between middle and full. it will sound much much
much much better!!!
, . : finer panning
F7 F8 : slide balance
/ * : fine balance
F9 F10 : dec/inc playback speed (see ctrl-F12)
F11 F12 : dec/inc pitch (see ctrl-F12)
ctrl-F12 : toggle speed and pitch lock.
if on, a change in speed also will affect the pitch
and vice versa
backspace : toggle the amazing 32-bit-fast-fourier-interpolation
ct-backspace : change filter, pretty useless with high sampling
rates... 3 different filters with increasing effect
and 32-bit-fast-fourier-interpolation
n : resets the above values to standard
ctrl-n : saves the above values for the current session
2.2: Modes and Related Keys
----------------------------
Note: all previously listed keys are still valid in all modes.
h ? F1 : Help Mode (should be self-explanatory)
i alt-F4 : Instrument Mode (2.2.1)
m alt-F9 : View Song Message (MTM/DMF), keys like in help mode
t alt-F6 : Pattern View (2.2.2)
a alt-F5 : Text Mode Spectrum Analyser (2.2.3)
g alt-F3 : Graphic Spectrum Analyer (2.2.4)
o alt-F2 : Scopes (2.2.5)
w alt-F7 : Würfel mode, höhö.. (see yourself)
needs 800k of free mem extra
x : EXTENDED MODE... beat it!!!
2.2.1: Instrument Mode <i>
-----------------------------
The usual instrument display... a bit more comfortable than others!
tab : toggle between short and long instruments
pgup / pgdn : scroll
ctrl-pgup/dn : scroll fast
home : go home!
alt-i : clear instrument used flags... wow!
2.2.2: Pattern View <t>
--------------------------
it's really simple:
colors indicate the type of effect:
2.2.2.1: Global Effects
------------------------
green speed commands (tempo, speed)
red position commands (break, goto, patloop, patdelay)
blue global vol fx (set glob vol, glob vol slide)
2.2.2.2: Channel Effects
-------------------------
white instrument effect (set instrument, play note, etc.)
green pitch effect (porta, vibrato, arpeggio, etc.)
blue volume effect (set volume, volslide, tremolo, etc.)
purple panning effect (set panning, panning slide)
red note effect (cut note, delay note, etc.)
the symbols/letters indicate the effect, the values are given in hex
volumes: 00-FF in contrast to volumes in most module formats (00-40)
panning: 00-FF from full left to full right
first instrument is 00 not 01.
2.2.2.2.1: Global Effects
--------------------------
green t?? tempo, the number of ticks per row
s?? speed, the number of ticks per time
red down?? break pattern and start next one in row ??
right?? goto pattern
pl? pattern loop: 0 set label, others: loop ? times
pd? delay pattern for ?*tempo ticks
blue v?? set global volume
up?? global volume slide up
down?? global volume slide down
updown00 continue last global volume slide
2.2.2.2.2: channel effects
--------------------------
white i?? set instrument
C-4... play note C, octave 4
off key off (XM only)
right?? set envelope position (XM only)
green C-4... set porta to note note (porta to note)
up?? pitch slide up 00: cont (porta up)
down?? pitch slide down 00: cont (porta down)
+?? row pitch slide up (finetune)
-?? row pitch slide down (finetune)
note?? pitch slide to note 00: cont (porta to note)
~?? vibrato
~right? vibrato set speed
~=? vibrato set waveform
≡?? arpeggio
blue v?? set volume
up?? volume slide up
down?? volume slide down
+?? row volume slide up (finevol)
-?? row volume slide down (finevol)
~?? tremolo
~=? set tremolo waveform
⌐?? tremor, does anyone use it?
purple p?? set panning
right?? panning slide right
left?? panning slide left
>face< enable surroud sound for channel (see below)
red d?? delay, delays anything, usually notes
!!?? retrigger
right?? sample offset
^?? note cut
2.2.2.3: Keys in Pattern View
------------------------------
space : toggle auto / manual mode
ctrl-pgup/dn : scroll instruments
home : set optimum mode for current module
auto mode:
pgup / pgdn : change number of channels: 32,24,16,8,4
tab : toggle mode (fx on/off etc)
manual mode:
pgup / pgdn : move through patterns
[shift]-tab : change # of channels, mode
2.2.3: Text Mode Spectrum Analyser <a>
-----------------------------------------
Requires a 387 coprocessor (or emulation) in the current version.
On faster computers the spectrum analyser can look a bit dirty.
This is because the player does not wait for a refresh when displaying.
A decay speed is not yet included.
a / alt-F5 : toggle channel mode (all/current)
ctrl-pgup/dn : scroll instruments
pgup / pgdn : change visible frequency range
home : set maximum freq to approximately 3000Hz
2.2.4: Graphic Spectrum Analyser <g>
---------------------------------------
387 required.
That kind of stripes that are used in voice recognition...
Watch the vibratos!!! wow.. that's cool..
have a look at guitarsl.mod, armani.s3m and space.mod
g / alt-F3 : toggle channel mode:
- both output channels
- mixed output channels
- currently selected channel only
alt-g : toggle between fast and fine mode
pgup / pgdn : change visible frequency range
home : set maximum frequency to approximately 3000 Hz
tab ctrl-tab : change scale / palette
2.2.5: Scopes <o>
--------------------
Just simple oscilloscopes for all or one channel
The background piccy needs an extra 200k of memory, if you don't have
that much you can disable the picture with a command line option.
o alt-F2 : toggle mode (single/all channels)
alt-o : toggle trigger, starts the output on a
polarity change
pgup / pgdn : stretch scopes
2.3: FileSelector <f> <ins>
------------------------------
An easy way to search and play your favourite modules
At first it scans the current directory for modules (files with
the extension .MOD .NST .S3M .MTM .XM or .MID) and lets you select
files. While you do this, it scans the modules for the titles
and number of voices. This can be very slow on disks and CDs and you
can stop it by pressing ctrl-backspace. If you've found a nice module
you can either play it now by pressing return or put it in the
playlist with -> or ins. There is also a quickfind feature: Simply
type the name of the module and the fileselector will go to the
file. (You don't need to complete the name or type it correctly,
it will take the name that is most similar to the typed name)
When you have finished the playlist, hit esc. Remember: return plays
the currently selected module.
2.3.1: Keys for Fileselector
up, down,
pgup, pgdn,
home, end : the usual stuff...
abc123... : quickfind
return : play selected module RIGHT NOW!
esc : leave fileselector, don't interrupt current mod
ins -> : add mod to list (both windows)
del <- : remove mod from list (both windows)
ctrl-left,
ctrl-ins : add all mod in current directory to list
ctrl-right,
ctrl-del : clear playlist
tab : toggle "window"
ctrl-up, down: move mod in playlist
pgup, pgdn, : (my god, why do i do this?? no one will ever use
home, end : this feature...)
ctrl-backspc : stop reading module info
alt-s : if ctrl-backspace does not work
alt-z : toggle 25/50 lines mode
alt-o : toggle scramble playlist order (shuffle play)
randomly picks the next module from the playlist
(hint for ?hook: x means on, o off...)
alt-r : toggle remove from list
if on removes mods from list when played,
if off puts mods to end of list when played =>
endless play
alt-l : toggle loop module flag
if off you sometimes hear the first note after
the loop... well not really good, but easy to
program :] wait for v1.0 or later...
this does not affect MIDs at the moment, they
will be looped either way.
2.4: Command Line
------------------
At the command line you can specify the modules you wish to play.
This works very much like the dos DIR command, e.g. type
cp d:\mods\guitarsl
cp \mods
cp \mods\.xm
cp .
cp c:
You can also give a playlist: cp @d:\mods\favorite.lst
(playlists can be nested, though this feature has not yet
been tested extensively)
if you have not specified any modules or none of them could be found
cp will start up with the file selector.
2.4.1: Usage of Command Line Options etc.
------------------------------------------
The command line options are arranged in groups:
-h[n]: view help screen #n
-c: 2.4.2: Sound Device Specific Switches
-v: 2.4.3: Volume Specific Switches
-w: 2.4.4: Screen Specific Switches
-l: 2.4.5: Playlist Specific Switches
-m: 2.4.6: Midi Switches
You can use switches everywhere in the command line, you can
also set default values with the environment variables CP and
CPECHO and in the file CP.CFG in CP.EXE's path.
The format is always the same, all switches begin with - or /
Switches of the same group can be put together separated by a ,
(no whitespaces in between!):
-cb -cc0 == -cb,c0
-h : This is a pretty good feature if you don't know
-? : all the switches by heart
2.4.2: Sound Device Specific Switches
--------------------------------------
-c...
c?? : sounddevice 0:quiet, 1:sb, 2:sbpro, 3:sb16, 5:gus
p??? : port in hex
i?? : irq in dec
d? : dma
e? : 16 bit dma for sb16
r????? : sampling rate in Hz or kHz
b[-] : bypass mode [off], bypasses the detect/check
routines, make sure to set all parameters correctly!
m : mono
s : ______, fill in the gap!
8 : -E-I-G-H-T- bit
16 : -_-_-X-T-_-_-N bit, hint: two of the missing
letters are equal
l[+] : small buffer, if you think the sound output is too
much behind. this could cause trouble on slower
systems, mods with many channels or if echo is
enabled
2.4.3: Volume Specific Switches
--------------------------------
-v...
v?? : master volume: 0..100, 100=norm
a??? : amplify: 0..400, 100=norm
p??? : panning: -100..+100, 100=norm
b??? : balance: -100..+100, 0=norm
s[-] : surround sound [off]
f[?] : lowpass filter 0..4,
0:none, 1:very soft, 2:soft, 3:effective
4:32-bit-fast-fourier-interpolation
efb,n(,t,v)*n : echo / reverb, fb:feedback value: -64..+64,
n: # of echos, t: echo delay time in ms,
v: echo volume: -64..+64
This feature is not yet finished, much too
complicated... It will be integrated in the
player in a later version. Don't make a
mistake here, the results are unpredictable!
There may also be playback problems when using
echo (buffer cannot be updated fast enough)
BUT: try it with one of the given settings,
sound reeal goood. (I hope I won't forget them
this time... :)
try cpchurch.bat if you have a fast computer!!
(and even if not, but don't try 32 voices..)
wow.... best echo/reverb I've ever heard!!!
2.4.4: Screen Specific Switches
--------------------------------
-w...
c[+/-] : channels: short, +:long, -:none
zxx : text mode: 0: 80x25, 1: 80x30, 2: 80x50, 3: 80x60
4:132x25, 5:132x30, 6:132x50, 7:132x60
cxx : channel display type xx:
0:none, 1:short, 2:long, 3:side
ixx : instrument display type xx:
0:none, 1:short, 2:long, 3:side
a[-] : turn spectrum analyser on [off]
t[-] : turn pattern view on [off]
x : display very much! (extended mode)
sx : startup screen x: o/g/i/a/t/w (see 2.2)
p[+] : don't [do] load scope background picture
[requires 200k mem]
2.4.5: Playlist Specific Switches
----------------------------------
-l...
l[+] : don't [do] loop modules
o[-] : don't [do] scramble playlist order
r[-] : [don't] remove mods from list if played
2.4.6: Midi Switches
---------------------
-m...
cnn : use nn channels for midi output
ppath : path of the gus-patches
2.4.7: Misc
------------
-pentium : fixes the division bug on the pentium
(if the analysers look a bit dirty)
3: Information on Cubic Player
===============================
The player was started somewhere in 1993, (was it?) using Borland C++ 3.1
and TASM 3.1, and was used in VEX-intro, which was presented at the
Assembly '94. That version was still quite buggy, but the bugs did not
appear in the VEX-tune... In late September '94 I got Watcom C++ v10 and
transformed the sources to Watcom's C++ implementaton. Then the player
was given a user interface, which was worked out in the following
three months. The playback quality was also improved, so you now have
one of the best and fastest module players. It is especially fast
(that's what my speed test program told me, a simple loop per time count
program, no tricks) with multi channel modules that use panning, faster
than any other players I know of.
This is quite astonishing, since less than 5% of the player was coded in
assembler, the rest in C/C++. (600k source in C++, 15k source in ASM,
10k assembler object code, the rest in C/C++, takes 10 min to compile ;)
Cubic Player uses Rational Systems' DOS4G DOS extender, so the player
can use all (or 16M at maximum) your extended / expanded memory.
So what you are holding in hands has gone through some two years of
developing and testing.
If you are interested in the sound system send a message to pascal.
4: Notes, bugs, etc.
=====================
4.1: Notes on the Implementation of the Formats
------------------------------------------------
MOD/NST/MTM command 8\ panning 0-80: left-right, A4: surround mid
and S3M command z/ 81-FF (except A4) surround right-left
MOD: F20 is tempo-change! We're not sure if that is the correct
assignment, but it seems to be better.
(actually we are quite sure that this is wrong...)
XM: -Older XMs do not load. (claustr2.xm, shelter.xm), because that
format is completely different and will not be supported.
(unless I get a description...) Rewrite them with ft2!
Does anyone know exactly how to handle the auto vibrato effect?
DMF: DELUSION! come on... could you give us a description?
If anyone wants the DMF format implemented, please send a mail to
Delusion, and tell them you want them to send us the file
format!
4.2: Known Bugs, to be fixed by v1.0
-------------------------------------
- midis are not played 100% correctly all the time..
(though much better than with cp 0.9ß, ->drum channel...)
- the first-note-after-a-loop in no-loops-mode bug
- If you press the <pause> key, the player may stop playing.
We could remove this bug, but then there will be another bug...
some keystrokes will be missed... hmm, there sure is another way... :)
4.3: Future Enhancements, most probably in v1.0
------------------------------------------------
-DMF support
-ULT support (I won't promise anything!) (does anyone have the)
-FAR support (I won't promise anything!) (format description?)
-easier to set echos
-decay rate for the textmode analysers.
-setup-program
-analysers for no-coprocessor systems
-archive support for file selector
-even better midi support
-TGA2SMP - program, to draw your own sounds!
5: Special Features
====================
5.1: Surround Sound
--------------------
This sounds pretty nice if you have a stereo soundcard.
Just buy 1,2 or 3 additional speakers, connect them as showed below
and press F5 twice and F4 in Cubic Player.
Stereo
+ L - - R +
+-+ +-+ +-+ +-+
+-+ +-+ +-+ +-+
I I I I
I I I I
+----+ +-----+-----+ +-----+
I I I I I
I I I I I
I I - I I
I I M-Speaker I I
I I + I I
I I I I I
I + - ----+---- - + I
I L-Speaker R-Speaker I
I I
I I
+---+ +-------------+ +------+
I I I I
+ - - +
S1-Speaker S2-Speaker
Thanks to Micheal Erdmann for this diagram.
(I hope I got the M-Speaker set up correctly... :)
5.2: Midi usage
----------------
You have to have the GUS patches for midi support. If you haven't got a
GUS you can find them on many BBSs, they usually come as "GUS-drivers"
and are about 5-6 disks big. GUS users can skip the following part.
(hey, don't mess around with the default.cfg, this could cause errors,
if you make changes to the default.cfg, that refuse to work with cp,
make a copy of the original one and call it cpmidi.cfg)
After installing them into any directory, add the following statement
to cp.cfg: (if there is no cp.cfg yet, create it in the cp directory)
-mpPATH where PATH is the directory of your gus-patches.
In midi mode, some options are disabled and some will look different.
(not all midi effects are processed at the moment, so if you've got
information on midis or the gus patches, contact us!)
5.3: Cubic Player and OS/2
---------------------------
Yes, Cubic Player works with OS/2 v3. Simply create a Program-Object
from the Template-Folder. Select DOS-Fullscreen from the Session-Settings
(NO, it does NOT run in a window.) Make sure to put DOS4GW.EXE as the
executable and CP.EXE as parameter. Cubic Player should now work with the
standard DOS-Settings.
If your soundcard is not detected properly, specify it manually in your
cp.cfg (See section 2.4 on this).
Now you have the ONLY Multi-format player that works well with OS/2!
There may be a small clicks or interruptions during task-switching,
but hey, thats OS/2...!
6: Greets, Credits
===================
thanks go to:
--------------
Glen Moore / Sound Solutions (...)
Iron Eagle / TC (thanxthanxthanx for your computer)
Abyss / FC (fistf***in')
SS.C (forget about amiga...)
for ß-testing:
---------------
Green Apple (thanks for all the mods!)
the Sodomist (for constant pestering, but enough is enough ;-))
The Summer (found any bug, yet?? hehe... :)
Ratzkartoffel
greets:
--------
THE COEXiSTENCE
Legend Design
Access Denied (C=64)
Future Crew
Green Apple
Delusion (nuuuuun, was iss los mit Euch?? DMF docs, pleaeaease!)
Cascada
K.L.F.
Jinx! / TC
Daniel Zeiss / sfx-net
AVATAR / LD
Zodiac / Cascada
Punk (thanks for your mods->one bug less..)
Doc Bobo / Zybernetic Dreams :)
Sandro Richi
Michael Erdmann
>ö< in America
Pappnase
TECS
no greets go to the organizers of the party 94.
We wanted to greet more persons, but, well, the ones who expect
to be greeted are herewith greeted...
6.1: Adresses/Credits
---------------------
code:
------
Niklas Beisert (pascal)
Oberstrasße 84
20149 Hamburg
Germany
ideas, the traced graphics and the demo song:
----------------------------------------------
Dirk Jagdmann (doj)
Kaiser Friedrich Ufer 13
20253 Hamburg
Germany
anything else...
-----------------
Bertolt Meyer (?hook)
Wrangelstraße 18
20253 Hamburg
Germany
main ß-tester:
----------------
André Peters (Scholar)
Hattinger Stieg 4
22419 Hamburg
Germany
The support BBS is
+---------------------------------------+
| MEDIA BBS, 5.2 GB online |
| |
| +49-40-677 95 53 [16.8 Zyxel] |
| +49-40-675 38 78 [28.8 V.Fast] |
| |
| with a special menu for cubic player |
+---------------------------------------+
COMPUSERVE:
100413,3463 (Bertolt Meyer)
INTERNET:
100413.3463@compuserve.com (...)
FiDO-NET:
Niklas Beisert,2:240/5404.1 (now they should be correct... :)
Dirk Jagdmann,2:240/5404.1
TECS: +49-40-5117002 (nodes 01-10, 14.4kb)
+49-40-5117024 (nodes 11-20, 28.8kb V.34 USR)
+49-40-5111292 (nodes 21-30, 28.8kb V.FC)
pascal's handle is TURBO PASCAL
doj still is DOJ
?hook is HOOK (what did you expect?)
Well, have fun with Cubic Player and all the bugs left in it...
pascal / doj / ?hook